package com.gitee.wsl.mathematics.geometry.d2.poly.polyline

import com.gitee.wsl.mathematics.coordinate.d2.Coordinate2
import com.gitee.wsl.mathematics.geometry.api.PolylineShape
import com.gitee.wsl.mathematics.geometry.d2.CloseShape2d
import com.gitee.wsl.mathematics.geometry.d2.LineListShape2d
import com.gitee.wsl.mathematics.geometry.d2.contour.ShapeContour

interface PolylineShape2d<T:Number,V: Coordinate2<T, V>>: PolylineShape<T, V>, LineListShape2d<T, V> {

    //override val lines:List<LineShape2d<T, V>>

    override val center: V
        get() = TODO("Not yet implemented")

    override val area: T
        get() = TODO("Not yet implemented")

    override val contour: ShapeContour
        get() = TODO("Not yet implemented")

    override fun getBounds(): CloseShape2d<T, V> {
        TODO("Not yet implemented")
    }

    override fun containsPoint(p: Coordinate2<T, *>): Boolean = lines.any { it.containsPoint(p) }

}
